const $ = require("jquery")
const sql = require("sqlite3").verbose()
const IPC = require("electron").ipcRenderer

var classmate =[]
    function getData(){
    const database = new sql.Database("Student_DB.db",(err) => {
        console.log(err)
    })
    database.all("SELECT * FROM student", [], (err, rows) => {
        if (err) {
            console.error(err.message);
        } else {
            rows.forEach((row) => {
                classmate.push(row["name"])
            });
        }
    });
    let log=[]
    for(let i=0;i<=classmate.length;i++){
        if (classmate[i].length>=1){
            log.push(classmate[i])
        }
    }
    classmate=log
    database.close()
}



$(window).on("resize",()=>{
   $("#SC").css("font-size",$(window).innerWidth()/2+"%");
})

$(document).ready(function (){
    $("#INPPASSWD").hide()
    console.log("感谢使用！");
    $("#SC").css("font-size",$(window).innerWidth()/2+"%");
    getData()

})



const btn = $("#btn");
const sc = $("#SC");
const na = $("#na");
const pc = $("#pc");
const pcqr = $("#pcqr");
//----------
var tp = 1;
pcqr.on("click", () => {
    if (tp === 1) {
        tp = 0;
        pc.hide()
        pcnr.length = 0;
    } else {
        tp = 1;
        pc.show()
        pc.text("已排除:" + pcnr)
    }
})


//----------
var or = false;
var pcnr = [];
btn.on("click", () => {
    st();
});



function st() {
    na.show()

    if (or === false) {
        sc.css("color","rgb(255,255,255)")
        document.body.style.backgroundColor="rgb(0,0,0)"
        console.log("<↓↓↓↓↓↓↓↓↓↓↓>");
        or = true;
    }
}

var i = 0;
var scpx = "";
setInterval(() => {
    if (or) {
        i = i + 1;
        sj = Math.round(Math.random() * classmate.length);

        if (sj !== classmate.length) {//FIXME 回头修，打个标签，主要表现是会出现空指针23/11/29
            //BUG 谁爱改谁改，打个高级标签，随你便吧(╯▔皿▔)╯23/12/1

            console.log(classmate[sj] + ">>" + sj);

            sc.text(classmate[sj]);

            if (i >= 80) {//TODO 这里可以更改动画切换次数（我也不知道怎么描述，看着改吧）
                console.log(classmate.length);//classmate.length==NONE!


                if (tp === 0) {
                    or = false;
                    i = 0;
                } else if (tp === 1) {
                    if (!pcnr.includes(classmate[sj])) {//XXX 总感觉这有点不好，但是又说不出来
                        //搜索排除数组中是否包含随机到的值，如果没有将会添加到数组，进行排除并且显示

                        pcnr[pcnr.length] = classmate[sj];
                        pc.text("已排除:" + pcnr);
                        or = false;
                        i = 0;
                        if (pcnr.length === classmate.length) {//我个人感觉这里写的不对，但是能运行……离谱
                            console.log(pcnr);
                            pcnr.length = 0;
                        }
                    }
                    console.log(pcnr.length + ">>>" + classmate.length);

                }


            }

        }



    }
}, 15);//TODO 这里可以更改每个名字切换时间（动画时间）
const passwd = $("#passwd")
const sub = $("#sub")
const exit = $("#exit")
$("#setdata").click(function (){
    $("#INPPASSWD").show()
})

sub.click(function (){
    let da
    const database = new sql.Database("Student_DB.db",(err) => {
        if (err){
            console.log(err)
        }
    })
    database.all('select * from teacher where user = ?',passwd.val(),(err,rows)=>{
        if (err){
            if (err){
                console.log(err)
            }
        }
        rows.forEach((raw)=>{
            if (raw["user"]!=null){
                $("#passwd").val('')
                $("#INPPASSWD").hide()
                IPC.send("OpenSetData")
            } if (raw["user"]==null){
                $("#passwd").val('')
            }
        })

    })
})

exit.click(function (){
    $("#INPPASSWD").hide()
})